Связь с данными

Существует возможность редактирования условия при помощи произвольных элементов управления. Для этого в объекте "Отбор" предусмотрена возможность связывания с данными.

Например, мы хотим дать пользователю возможность редактировать период отчета в отдельных полях ввода, а не только через табличное поле. Тогда нам необходимо связать поля ввода, в которых будет редактироваться параметры "ПериодС" и "ПериодПо" с отбором.

Следующий пример демонстрирует эту возможность:

Копировать в буфер обмена
 ПостроительОтчета.Текст =  
    "ВЫБРАТЬ  
    |    ПродажиОбороты.Номенклатура КАК Номенклатура,  
    |    ПродажиОбороты.Номенклатура.Представление,  
    |    ПродажиОбороты.Контрагент КАК ПродажиКонтрагент,  
    |    ПродажиОбороты.Контрагент.Представление,  
    |    ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,  
    |    ПродажиОбороты.СуммаОборот КАК СуммаОборот  
    |ИЗ  
    |    РегистрНакопления.Продажи.Обороты({&ПериодНачало},{&ПериодКонец}) КАК ПродажиОбороты  
    |  
    |ИТОГИ СУММА(КоличествоОборот), СУММА(СуммаОборот) ПО  
    |ОБЩИЕ,  
    |    Номенклатура КАК Номенклатура,  
    |    ПродажиКонтрагент КАК ПродажиКонтрагент";  

НовыйОтбор = ПостроительОтчета.Отбор.Добавить("ПериодНачало");  
НовыйОтбор.Использование = Истина;  
ЭлементыФормы.ПериодНачало.Данные = "ПостроительОтчета.Отбор.ПериодНачало.Значение"; 

НовыйОтбор = ПостроительОтчета.Отбор.Добавить("ПериодКонец"); 
НовыйОтбор.Использование = Истина; 
ЭлементыФормы.ПериодКонец.Данные = "ПостроительОтчета.Отбор.ПериодКонец.Значение";

Важно:

При связывании поля ввода со значением элемента отбора для не составных типов, необходимо сбросить свойство поля ввода "ВыбиратьТип" ("ChooseType").

Если необходимо, чтобы элементы отбора, связанные с полями ввода, не отображались в табличном поле редактирования отбора, то можно воспользоваться свойством расширения табличного поля для отбора "НастройкаОтбора" ("FilterSettings").

Пример:

Копировать в буфер обмена

ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодНачало", Ложь); 
ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодКонец", Ложь);

Описанный пример прилагается в виде внешней обработке rbdatlnk.epf.

Все внешние обработки, описанные в данном разделе, находятся в каталоге \1CITS\EXE\RBSample

ВЫ МОЖЕТЕ ПРЯМО СЕЙЧАС СКОПИРОВАТЬ ОБРАБОТКИ С ПРИМЕРАМИ 
НА ЖЕСТКИЙ ДИСК ВАШЕГО КОМПЬЮТЕРА

Копировать